Routing devices within a network, often referred to as routers, maintain routing information that describes available routes through the network. Upon receiving an incoming packet, the routers examine information within the packet and forward the packet in accordance with the routing information. In order to maintain an accurate representation of the network, routers exchange routing information in accordance with one or more defined routing protocols, such as the Open Shortest Path First (OSPF) or the Intermediate System to Intermediate System (ISIS).
Multi-protocol Label Switching (MPLS) is a mechanism used to engineer traffic patterns within Internet Protocol (IP) networks. By using MPLS, a source device can request a path through a network, i.e., a Label Switched Path (LSP). An LSP defines a distinct path through the network to carry MPLS packets from the source device to a destination device. A short label associated with a particular LSP is affixed to packets that travel through the network via the LSP. Routers along the path cooperatively perform MPLS operations to forward the MPLS packets along the established path. LSPs may be used for a variety of traffic engineering purposes including bandwidth management and quality of service (QoS). A packet may be a formatted set of data.
A variety of protocols exist for establishing LSPs. For example, one such protocol is the label distribution protocol (LDP). Another type of protocol is a resource reservation protocol, such as the Resource Reservation Protocol with Traffic Engineering extensions (RSVP-TE). RSVP-TE uses constraint information, such as bandwidth availability, to compute paths and establish LSPs along the paths within a network. RSVP-TE may use bandwidth availability information accumulated by a link-state interior routing protocol, such as the Intermediate System—Intermediate System (ISIS) protocol or the Open Shortest Path First (OSPF) protocol.
Head-end routers of an LSP are commonly known as ingress routers, while routers at the tail end of the LSP are commonly known as egress routers. Ingress and egress routers, as well as intermediate routers along the LSP that support MPLS, are referred to generally as label switching routers (LSRs). A set of packets to be forwarded along the LSP is referred to as a forwarding equivalence class (FEC). A plurality of FECs may exist for each LSP, although there may, in some examples, be only one active LSP for any given FEC. Typically, a FEC definition includes the IP address of the destination for the packets traversing the LSP, e.g., a destination IP address within headers of packets transported by the LSP. In general, each router along the LSP maintains FEC to Nexthop Label Forwarding Entry mapping that associates a FEC with an incoming label and an outgoing label. The ingress LSR, referred to as a label edge router (LER), uses label information, propagated upstream by each LSR along a path from the egress LER, to affix a label to each packet destined for the FEC, thereby admitting the packet to the LSP. More specifically, transport LSRs along the path use MPLS protocols to receive MPLS label mappings from downstream LSRs and to advertise MPLS label mappings to upstream LSRs. When an LSR receives an MPLS packet from an upstream router, the LSR performs a lookup in the context and swaps the MPLS label according to the information in its forwarding table based on the lookup and forwards the packet to the appropriate downstream LSR or egress LER. The egress LER removes the label from the packet and forwards the packet to its destination in accordance with non-label based packet-forwarding techniques. If Penultimate Hop Popping (PHP) is enabled for the LSP, then the penultimate LSR removes the label from the packet before forwarding to Egress LER.